/*
 * CoreDB.java
 * 
 * Created by demory on Sep 19, 2009, 10:29:18 PM
 * 
 * Copyright 2008 David D. Emory
 * 
 * This file is part of Five Points. See <http://www.fpdev.org> for
 * additional information regarding the project.
 * 
 * Five Points is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * Five Points is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with Five Points.  If not, see <http://www.gnu.org/licenses/>.
 */

package org.fpdev.core.data;

import java.sql.SQLException;

public interface CoreDB {

  public boolean initialized();

  public abstract void init() throws SQLException;

  public abstract String jdbcClassname();

  public abstract void close();

  public void connect();

  public void createQueryLogTables();

  public void createTripLinksTable();

  public void dropTable(String table);

  public void logTripQuery(int refid, int sessid, int scenid, int tripType, String start, String end, int time, String serviceID, int timeMode, double nmSpeed, double nmRadius, double bikeTypeFactor, double bikeTopFactor, int result);

  public void logLocationQuery(int refid, int sessid, int scenid, String loc, int result);

  public int initTripLinks(String links);

  public String getLinkList(int id);

  public void cleanup();

  public void ping();

}
